/*
 * Copyright 2020-2021 redragon-erp/赤龙ERP
 * Author redragon/dongbin
 * This file is part of redragon-erp/赤龙ERP.

 * 赤龙ERP官方声明：
 * (1)赤龙ERP的知识产权归软件著作权人所有
 * (2)未经著作权人授权，不得将赤龙ERP用于任何形式的商业用途
 * (3)对侵权的组织或个人，著作权人将保留诉诸法律的权利

 * 赤龙ERP官网详见 <https://www.redragon-erp.com>
 * 赤龙ERP仓库详见 <https://gitee.com/redragon/redragon-erp> 
 * 如遇任何问题，请与著作权人联系
 */
package com.erp.oa.notice.dao.model;

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;
import org.hibernate.validator.constraints.Length;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

@Entity
@Table(name="sys_notice_record", schema="erp")
@DynamicInsert(true)
@DynamicUpdate(true)
public class SysNoticeRecord implements java.io.Serializable {

    //serialVersionUID
    private static final long serialVersionUID = 1L;

    //Constructors
    public SysNoticeRecord() {
    }
    
    //Fields
    
    //主键
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name = "record_id", unique = true, nullable = false)
    private Integer recordId;
    
    public Integer getRecordId() {
        return this.recordId;
    }
    public void setRecordId(Integer recordId) {
        this.recordId = recordId;
    }
    
    //记录编码
    @Column(name = "record_code", unique = true, nullable = false, length = 45)
    private String recordCode;
    
    public String getRecordCode() {
        return this.recordCode;
    }
    public void setRecordCode(String recordCode) {
        this.recordCode = recordCode;
    }
    
    //通知编码
    @NotBlank(message="通知编码不能为空")
    @Column(name = "notice_code", unique = false, nullable = false, length = 45)
    private String noticeCode;
    
    public String getNoticeCode() {
        return this.noticeCode;
    }
    public void setNoticeCode(String noticeCode) {
        this.noticeCode = noticeCode;
    }
    
    //业务编码
    @NotBlank(message="业务编码不能为空")
    @Column(name = "business_type", unique = false, nullable = false, length = 45)
    private String businessType;
    
    public String getBusinessType() {
        return this.businessType;
    }
    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }
    
    //通知等级
    @NotBlank(message="通知等级不能为空")
    @Column(name = "notice_level", unique = false, nullable = false, length = 45)
    private String noticeLevel;
    
    public String getNoticeLevel() {
        return noticeLevel;
    }
    public void setNoticeLevel(String noticeLevel) {
        this.noticeLevel = noticeLevel;
    }
    
    //通知标题
    @NotBlank(message="通知标题不能为空")
    @Column(name = "title", unique = false, nullable = false, length = 200)
    private String title;
    
    public String getTitle() {
        return this.title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    
    //通知内容
    @NotBlank(message="通知内容不能为空")
    @Column(name = "content", unique = false, nullable = false, length = 2000)
    private String content;
    
    public String getContent() {
        return this.content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    
    //发布到的职员
    @NotBlank(message="发布到职员不能为空")
    @Column(name = "publish_person", unique = false, nullable = false, length = 45)
    private String publishPerson;
    
    public String getPublishPerson() {
        return this.publishPerson;
    }
    public void setPublishPerson(String publishPerson) {
        this.publishPerson = publishPerson;
    }
    
    //读取标识
    @NotBlank(message="读取标识不能为空")
    @Column(name = "read_flag", unique = false, nullable = false, length = 1)
    private String readFlag;
    
    public String getReadFlag() {
        return this.readFlag;
    }
    public void setReadFlag(String readFlag) {
        this.readFlag = readFlag;
    }
    
    //状态
    @Column(name = "status", unique = false, nullable = false, length = 45)
    private String status;
    
    public String getStatus() {
        return this.status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    
    //创建时间
    @Column(name = "created_date", unique = false, nullable = false)
    private Date createdDate;
    
    public Date getCreatedDate() {
        return this.createdDate;
    }
    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }
    
    //创建人
    @Column(name = "created_by", unique = false, nullable = false, length = 45)
    private String createdBy;
    
    public String getCreatedBy() {
        return this.createdBy;
    }
    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }
    
    //最后修改时间
    @Column(name = "last_updated_date", unique = false, nullable = true)
    private Date lastUpdatedDate;
    
    public Date getLastUpdatedDate() {
        return this.lastUpdatedDate;
    }
    public void setLastUpdatedDate(Date lastUpdatedDate) {
        this.lastUpdatedDate = lastUpdatedDate;
    }
    
    //最后修改人
    @Column(name = "last_updated_by", unique = false, nullable = true, length = 45)
    private String lastUpdatedBy;
    
    public String getLastUpdatedBy() {
        return this.lastUpdatedBy;
    }
    public void setLastUpdatedBy(String lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }
    
    //组织机构
    @Column(name = "org_code", unique = false, nullable = false, length = 45)
    private String orgCode;
    
    public String getOrgCode() {
        return this.orgCode;
    }
    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }
    
    
}